package javabase.desginpattern.behavior.templatemethod;

/**
 * @author fance
 * @date 18-4-26 下午4:23
 */
public abstract class AbstractTemlate {

    public void templateMethod() {
        abstractMethod();
        doHookMethod();
        concreteMethod();
    }
    protected abstract void abstractMethod();
    protected void doHookMethod(){}
    protected final void concreteMethod() {
        System.out.println("invoke concreteMethod");
    }
}
